package com.apci.ipreda.dao;

import java.util.List;

import com.apci.ipreda.domain.CargoEmpleado;
import com.apci.ipreda.domain.Departamento;
import com.apci.ipreda.domain.Distrito;
import com.apci.ipreda.domain.EstadoDeclaracion;
import com.apci.ipreda.domain.EstadoDonacion;
import com.apci.ipreda.domain.Moneda;
import com.apci.ipreda.domain.Pais;
import com.apci.ipreda.domain.Periodo;
import com.apci.ipreda.domain.Provincia;
import com.apci.ipreda.domain.SituacionDeclaracion;
import com.apci.ipreda.domain.TipoDataBase;
import com.apci.ipreda.domain.TipoDocumentoIdentidad;
import com.apci.ipreda.domain.TipoEntidad;
import com.apci.ipreda.domain.TipoResolucion;
import com.apci.ipreda.domain.TipoSiNo;


public class TipoDataBaseDAOImpl extends BaseDAOHibernate implements TipoDataBaseDAO{
	
	public TipoDataBase getTipoDataBaseById(String codigo){
		return findById(TipoDataBase.class, codigo);
	}
	public List<TipoDataBase> getTipoDataBaseListByCodigoPadre(String codigoPadre){
		return find(TipoDataBase.class,"from TipoDataBase where codigoPadre='"+codigoPadre+"'");
	}
	public List<TipoEntidad> getTipoEntidadList(){
		return find(TipoEntidad.class, "from TipoEntidad");
	} 
	public List<CargoEmpleado> getCargoEmpleadoList(){
		return find(CargoEmpleado.class, "from CargoEmpleado");
	}
	public TipoDataBase getTipoDataBaseListByCodigo(String codigo){
		return findFirst(TipoDataBase.class, "from TipoDataBase where codigo='"+codigo+"'");
	}
	public List<Departamento> getDepartamentoListByCodigoPadre(String codigoPadre){
		return find(Departamento.class, "from Departamento where codigoPadre='"+codigoPadre+"'");
	}
	public List<Distrito> getDistritoListByCodigoPadre(String codigoPadre){
		return find(Distrito.class, "from Distrito where codigoPadre='"+codigoPadre+"'");
	}
	public List<EstadoDeclaracion> getEstadoDeclaracionList(){

		return find(EstadoDeclaracion.class, "from EstadoDeclaracion");
	}
	public EstadoDeclaracion getEstadoDeclaracionByCodigo(String codigo){
		return findFirst(EstadoDeclaracion.class, "from EstadoDeclaracion where codigo='"+codigo+"'");
	}
	public List<EstadoDonacion> getEstadoDonacionList(){

		return find(EstadoDonacion.class, "from EstadoDonacion");
	}
	public List<Moneda> getMonedaList(){

		return find(Moneda.class, "from Moneda");
	}
	public List<Pais> getPaisList(){

		return find(Pais.class, "from Pais");
	}
	public List<Provincia> getProvinciaListByCodigoPadre(String codigoPadre){
		return find(Provincia.class, "from Provincia where codigoPadre='"+codigoPadre+"'");
	}
	public List<SituacionDeclaracion> getSituacionDeclaracionList(){

		return find(SituacionDeclaracion.class, "from SituacionDeclaracion");
	}
	public SituacionDeclaracion getSituacionDeclaracionByCodigo(String codigo){
		return findFirst(SituacionDeclaracion.class, "from SituacionDeclaracion where codigo='"+codigo+"'");
	}
	public List<TipoDocumentoIdentidad> getTipoDocumentoIdentidadList(){

		return find(TipoDocumentoIdentidad.class, "from TipoDocumentoIdentidad");
	}
	public List<TipoResolucion> getTipoResolucionList(){

		return find(TipoResolucion.class, "from TipoResolucion");
	}
	public List<Periodo> getPeriodoList(){
		return find(Periodo.class, "from Periodo");
	}
	
	public List<TipoSiNo> getTipoSiNoList() {
		return find(TipoSiNo.class, "from TipoSiNo order by Id");
	}
}
